/* Copyright: Marcelo S. N. Mancini (Hipreme|MrcSnm), 2018 - 2021 License: [https://creativecommons.org/licenses/by/4.0/|CC BY-4.0 License]. Authors: Marcelo S. N. Mancini Copyright Marcelo S. N. Mancini 2018 - 2021. Distributed under the CC BY-4.0 License. (See accompanying file LICENSE.txt or copy at https://creativecommons.org/licenses/by/4.0/ */ module hip.hipaudio.backend.nullaudio; import hip.hipaudio.audio; import hip.hipaudio.audiosource; import hip.audio_decoding.audio; public class HipNullAudioClip : HipAudioClip { this(IHipAudioDecoder decoder, HipAudioClipHint hint){super(null, hint);} public override bool loadFromMemory(in ubyte[] data, HipAudioEncoding encoding, HipAudioType type, void delegate(in ubyte[]) onSuccess, void delegate() onFailure){return false;} public override void unload(){} public override void onUpdateStream(void[] data, uint decodedSize){} protected override void destroyBuffer(HipAudioBuffer* buffer){} protected override HipAudioBufferWrapper createBuffer(void[] data){return HipAudioBufferWrapper(HipAudioBuffer.init, false);} public override void setBufferData(HipAudioBuffer* buffer, void[] data, uint size = 0){} } public class HipNullAudio : IHipAudioPlayer { public bool isMusicPlaying(AHipAudioSource src){return false;} public bool isMusicPaused(AHipAudioSource src){return false;} public bool resume(AHipAudioSource src){return false;} public bool play(AHipAudioSource src){return false;} public bool stop(AHipAudioSource src){return false;} public bool pause(AHipAudioSource src){return false;} //LOAD RELATED public bool play_streamed(AHipAudioSource src){return false;} public IHipAudioClip getClip(){return new HipNullAudioClip(null, HipAudioClipHint.init);} public IHipAudioClip load(string path, HipAudioType bufferType){return new HipNullAudioClip(null, HipAudioClipHint.init);} public IHipAudioClip loadStreamed(string path, uint chunkSize){return new HipNullAudioClip(null, HipAudioClipHint.init);} public void updateStream(AHipAudioSource source){} public AHipAudioSource getSource(bool isStreamed){return new HipAudioSource();} public void onDestroy(){} public void update(){} }